package com.sm.user.service;

import com.sm.tool.entity.request.PageInfo;
import com.sm.tool.entity.request.UserLoginRequest;
import com.sm.tool.entity.request.UserPhoneLoginRequest;
import com.sm.tool.entity.request.UserRegisterRequest;
import com.sm.tool.entity.response.ReturnData;
import com.sm.tool.entity.response.VerificationCode;
import com.sm.tool.entity.vo.UserDetailListVO;
import com.sm.tool.entity.vo.UserDetailVO;

public interface UserRegLoginService {
    /**
     * 用户注册
     * @param userRegisterRequest
     * @return
     */
    ReturnData register(UserRegisterRequest userRegisterRequest);

    /**
     * 用户登录
     * @param userLoginRequest
     * @return
     * @throws Exception
     */
    ReturnData login(UserLoginRequest userLoginRequest) throws Exception;

    /**
     * 获取注册验证码
     * @param phone
     * @return
     */
    ReturnData getRegisterVerificationCode(String phone);

    /**
     * 用户手机验证🐎登录
     * @param userPhoneLoginRequest
     * @return
     */
    ReturnData phoneLogin(UserPhoneLoginRequest userPhoneLoginRequest);

    /**
     * 获取登录验证码
     * @param phone
     * @return
     */
    ReturnData<VerificationCode> getLoginVerificationCode(String phone);
}
